package com.pig4cloud.pig.model.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 模型库管理表
 *
 * @author pig
 * @date 2024-06-06 14:42:19
 */
@Data
@TableName("model")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "模型库")
public class ManagementEntity extends Model<ManagementEntity> {


	/**
	* 主键id
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="主键id")
    private Long id;

	/**
	 * 模型名称
	 */
	@Schema(description="模型名称")
	private String name;

	/**
	* 编号
	*/
    @Schema(description="编号")
	@TableField("sort_id")
    private String sortId;

	/**
	 * 请求方式
	 */
	@Schema(description="请求方式")
	private String method;

	/**
	 * 请求路径
	 */
	@Schema(description="请求路径")
	private String url;

	/**
	 * 组件版本
	 */
	@Schema(description="组件版本")
	private String version;

	/**
	 * 请求类型
	 */
	@Schema(description="请求类型")
	@TableField("parameter_type")
	private String parameterType;

	/**
	 * 输入参数
	 */
	@Schema(description="输入参数")
	private String parameter;

	/**
	 * header参数
	 */
	@Schema(description="header参数")
	private String header;

	/**
	 * 认证方式
	 */
	@Schema(description="认证方式")
	@TableField("authentication")
	private String authentication;

	/**
	 * 网关验证
	 */
	@Schema(description="网关验证")
	@TableField("public_key")
	private String publicKey;

	/**
	 * 模型服务编号
	 */
	@Schema(description="模型服务编号")
	@TableField("service_id")
	private String serviceId;

	/**
	 * 创建人
	 */
	@Schema(description="创建人")
	@TableField("create_by")
	private String createBy;

	/**
	 * 创建时间
	 */
	@Schema(description="创建时间")
	@TableField("create_time")
	private LocalDateTime createTime;

	/**
	 * 更新人
	 */
	@Schema(description="更新人")
	@TableField("update_by")
	private String updateBy;

	/**
	 * 更新时间
	 */
	@Schema(description="更新时间")
	@TableField("update_time")
	private LocalDateTime updateTime;

	/**
	* 状态
	*/
    @Schema(description="状态")
    private String status;

	/**
	 * 是否删除
	 */
	@Schema(description="删除标志")
	@TableField("del_flag")
	private String delFlag;

	/**
	* 备注
	*/
    @Schema(description="备注")
	@TableField("remarks")
    private String remarks;
	@TableField(exist = false)
	private String path;
}
